package ultweb.web;


import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import ultweb.domain.Prodotto;
import ultweb.service.ProductManager;
import ultweb.service.Registrazione;

public class RegistrazioneFormController extends SimpleFormController {

    /** Logger for this class and subclasses */
    protected final Log logger = LogFactory.getLog(getClass());

    private ProductManager productManager;
    private String me="RegistrazioneFormController-";
   
    
    public ModelAndView onSubmit(Object command)throws ServletException {
        String foo=me +"onSubmit- ";
        logger.info(foo+"begin ");
        logger.info(foo+"command----> " + ((Registrazione)command).toString());
        
        String nome = ((Registrazione) command).getTitle();
        String marca =((Registrazione) command).getMarca();
    	Integer prezzo = ((Registrazione) command).getPrezzo();
        Integer quantita = ((Registrazione) command).getQuantita();
        Integer pezziVeduti = ((Registrazione) command).getPezziVenduti();
        //String table=((Registrazione)command).getTable();
        
        Prodotto prodotto=new Prodotto(nome,marca,prezzo,quantita,quantita,pezziVeduti);
        logger.info(foo+ "prodotto: " + prodotto.toString() );
        
        productManager.inserisciProdotto(prodotto);
      
        logger.info(foo+"returning from registrazione view to " + getSuccessView());
        logger.info(foo+"end ");
    	return new ModelAndView(new RedirectView(getSuccessView()));
    }
     
   
    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
    	String foo=me +"formBackingObject- ";
    	logger.info(foo+"begin "+request);
    	Registrazione registrazione = new Registrazione();
        registrazione.setPrezzo(20);
    	registrazione.setMarca("marca");
    	registrazione.setTitle("nome");
    	registrazione.setQuantita(1);
    	logger.info(foo+"end"+ registrazione);
    	return registrazione;
    }

    public void setProductManager(ProductManager productManager) {
        this.productManager = productManager;
    }

    public ProductManager getProductManager() {
        return productManager;
    }

}